package com.rent.auth.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author zn
 * @since 2025-01-17
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("admin")
@ApiModel(value = "Admin对象", description = "Admin")
public class Admin implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("用户名")
    @TableField("username")
    private String username;

    @ApiModelProperty("密码")
    @TableField("password")
    private String password;

    @ApiModelProperty("明文密码")
    @TableField("cleartext_password")
    private String cleartextPassword;

    @ApiModelProperty("token令牌")
    @TableField("token")
    private String token;

    @ApiModelProperty("邀请码")
    @TableField("invite_code")
    private String inviteCode;

    @ApiModelProperty("所归属项目ids")
    @TableField("station_ids")
    private String stationIds;

    @TableField("station_names")
    private String stationNames;

    @ApiModelProperty("公司ID")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty("所属公司")
    @TableField("company_name")
    private String companyName;

    @TableField("agency_id")
    private Integer agencyId;

    @ApiModelProperty("代理商名称")
    @TableField("agency_name")
    private String agencyName;

    @ApiModelProperty("电话")
    @TableField("tel")
    private String tel;

    @ApiModelProperty("是否发送短信")
    @TableField("send_msg")
    private Integer sendMsg;

    @ApiModelProperty("发送短信类型0.默认所有")
    @TableField("msg_type")
    private String msgType;

    @ApiModelProperty("邮箱")
    @TableField("email")
    private String email;

    @TableField("address")
    private String address;

    @ApiModelProperty("管理员类型，0.超级管理员 1.管理员 2.代理商")
    @TableField("type")
    private Integer type;

    @TableField("is_max")
    private Integer isMax;

    @ApiModelProperty("角色ID")
    @TableField("role")
    private Integer role;

    @ApiModelProperty("角色名")
    @TableField("role_name")
    private String roleName;

    @ApiModelProperty("状态(0.停用1.启用)")
    @TableField("status")
    private Integer status;

    @ApiModelProperty("账户描述")
    @TableField("description")
    private String description;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty("有效期")
    @TableField("validity_time")
    private Date validityTime;

    @ApiModelProperty("备注")
    @TableField("remark")
    private String remark;
}
